package com.wxh.restful.enums;

/**
 * @ClassName: ResultCode
 * @Description: 响应结果状态码枚举类
 * @Author wxh
 * @Date: 2020/7/17 14:27
 * @Version V1.0.0
 * @Since 1.8
 */
public enum ResultCode {

    /*
     * #1000～1999 区间表示参数错误
     * #2000～2999 区间表示用户错误
     * #3000～3999 区间表示接口异常
     */

    /** 成功状态码  */
    SUCCESS(1, "成功"),

    /** 参数错误状态码:  1000～1999  */
    PARAM_IS_INVALID(1001, "参数无效"),
    PARAM_IS_BLANK(1002, "参数为空"),
    PARAM_TYPE_BIND_ERROR(1003, "参数类型错误"),
    PARAM_NOT_COMPLETE(1004, "参数缺失"),

    /** 用户错误状态码:  2000～2999  */
    USER_NOT_LOGIN_IN(2001, "用户未登陆，请登陆"),
    USER_LOGIN_ERROR(2002, "账号不存在或密码错误"),
    USER_ACCOUNT_FORBIDDEN(2003, "账号已被禁用"),
    USER_NOT_EXIST(2004, "用户不存在"),
    USER_HAS_EXIST(2005, "用户已存在"),


    /** 接口异常状态码:  3000～4999  */

    ;


    /**
     *  响应消息状态码
     */
    private Integer code;
    /**
     * 响应消息描述
     */
    private String message;

    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     *  获取状态码
     * @return resultCode
     */
    public Integer code(){
        return this.code;
    }

    /**
     *  获取消息描述
     * @return String
     */
    public String message(){
        return this.message;
    }
}
